type
  TSaveTextFileDialog=class(TOpenTextFileDialog)
  private
   FComboBox           :TComboBox;
   FEncodings          :TStrings;
   FEncodingIndex      :Integer;
   FLabel              :TLabel;
   FPanel              :TPanel;
   FHistoryList        :TStrings;
   FOptions            :TOpenOptions;
   FFilter             :string;
   FFilterIndex        :Integer;
   FCurrentFilterIndex :Integer;
   FInitialDir         :string;
   FTitle              :string;
   FDefaultExt         :string;
   FFileName           :TFileName;
   FFiles              :TStrings;
   FFileEditStyle      :TFileEditStyle;
   FOnSelectionChange  :TNotifyEvent;
   FOnFolderChange     :TNotifyEvent;
   FOnTypeChange       :TNotifyEvent;
   FOnCanClose         :TCloseQueryEvent;
   FOnIncludeItem      :TIncludeItemEvent;
   FOptionsEx          :TOpenOptionsEx;
   FInternalWrapper    :TObject;
   FCtl3D              :Boolean;
   FHelpContext        :THelpContext;
   FHandle             :HWND;
   FRedirector         :TWinControl;
   FTemplateModule     :NativeUInt;
   FOnClose            :TNotifyEvent;
   FOnShow             :TNotifyEvent;
   FDefWndProc         :Pointer;
   FObjectInstance     :Pointer;
   FTemplate           :PWideChar;
   FOwner              :TComponent;
   FName               :TComponentName;
   FTag                :NativeInt;
   FComponents         :TList;
   FFreeNotifies       :TList;
   FDesignInfo         :Integer;
   FComponentState     :TComponentState;
   FVCLComObject       :Pointer;
   FObservers          :TObservers;
   FSortedComponents   :TList;
   function GetComponent(AIndex: Integer): TComponent;
  protected
   FComponentStyle     :TComponentStyle;
  public
   function Execute: Boolean;
   function Execute(ParentWnd: HWND): Boolean;
   constructor Create(AOwner: TComponent);
   class destructor Destroy;
   function Execute(ParentWnd: HWND): Boolean;
   constructor Create(AOwner: TComponent);
   class destructor Destroy;
   function Execute(ParentWnd: HWND): Boolean;
   constructor Create(AOwner: TComponent);
   class destructor Destroy;
   function Execute: Boolean;
   function Execute(ParentWnd: HWND): Boolean;
   procedure DefaultHandler(var Message);
   constructor Create(AOwner: TComponent);
   class destructor Destroy;
   procedure BeforeDestruction;
   procedure DestroyComponents;
   procedure Destroying;
   function ExecuteAction(Action: TBasicAction): Boolean;
   function FindComponent(const AName: string): TComponent;
   procedure FreeNotification(AComponent: TComponent);
   procedure RemoveFreeNotification(AComponent: TComponent);
   procedure FreeOnRelease;
   function GetEnumerator: TComponentEnumerator;
   function GetParentComponent: TComponent;
   function GetNamePath: string;
   function HasParent: Boolean;
   procedure InsertComponent(AComponent: TComponent);
   procedure RemoveComponent(AComponent: TComponent);
   procedure SetSubComponent(IsSubComponent: Boolean);
   function SafeCallException(ExceptObject: TObject; ExceptAddr: Pointer): HRESULT;
   function UpdateAction(Action: TBasicAction): Boolean;
   function IsImplementorOf(const I: IInterface): Boolean;
   function ReferenceInterface(const I: IInterface; Operation: TOperation): Boolean;
   class destructor Destroy;
   procedure Assign(Source: TPersistent);
   function GetNamePath: string;
   constructor Create;
   procedure Free;
   class function InitInstance(Instance: Pointer): TObject;
   procedure CleanupInstance;
   function ClassType: TClass;
   class function ClassName: string;
   class function ClassNameIs(const Name: string): Boolean;
   class function ClassParent: TClass;
   class function ClassInfo: Pointer;
   class function InstanceSize: Integer;
   class function InheritsFrom(AClass: TClass): Boolean;
   class function MethodAddress(const Name: ShortString): Pointer;
   class function MethodAddress(const Name: string): Pointer;
   class function MethodName(Address: Pointer): string;
   class function QualifiedClassName: string;
   function FieldAddress(const Name: ShortString): Pointer;
   function FieldAddress(const Name: string): Pointer;
   function GetInterface(const IID: TGUID; out Obj): Boolean;
   class function GetInterfaceEntry(const IID: TGUID): PInterfaceEntry;
   class function GetInterfaceTable: PInterfaceTable;
   class function UnitName: string;
   class function UnitScope: string;
   function Equals(Obj: TObject): Boolean;
   function GetHashCode: Integer;
   function ToString: string;
   function SafeCallException(ExceptObject: TObject; ExceptAddr: Pointer): HRESULT;
   procedure AfterConstruction;
   procedure BeforeDestruction;
   procedure Dispatch(var Message);
   procedure DefaultHandler(var Message);
   class function NewInstance: TObject;
   procedure FreeInstance;
   class destructor Destroy;
   property FileEditStyle: TFileEditStyle;
   property Files: TStrings;
   property HistoryList: TStrings;
   property Handle: HWND;
   property ComObject: IInterface;
   property ComponentCount: Integer;
   property ComponentIndex: Integer;
   property ComponentState: TComponentState;
   property ComponentStyle: TComponentStyle;
   property DesignInfo: Integer;
   property Owner: TComponent;
   property VCLComObject: Pointer;
   property Observers: TObservers;
  published
   property Encodings: TStrings;
   property EncodingIndex: Integer;
   property DefaultExt: string;
   property FileName: TFileName;
   property Filter: string;
   property FilterIndex: Integer;
   property InitialDir: string;
   property Options: TOpenOptions;
   property OptionsEx: TOpenOptionsEx;
   property Title: string;
   property OnCanClose: TCloseQueryEvent;
   property OnFolderChange: TNotifyEvent;
   property OnSelectionChange: TNotifyEvent;
   property OnTypeChange: TNotifyEvent;
   property OnIncludeItem: TIncludeItemEvent;
   property Ctl3D: Boolean;
   property HelpContext: THelpContext;
   property OnClose: TNotifyEvent;
   property OnShow: TNotifyEvent;
   property Name: TComponentName;
   property Tag: NativeInt;
  end;
